﻿using student_table.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace student_table.controler
{
    class StudentManage
    {
        public readonly shujuqianyi db;
        public StudentManage()
        {
            var _db = new shujuqianyi();
            db = _db;
        }
        //更改原理差不多，不过那个不情况分的比较多。你们先把 添加，查找，删除，搞明白吧
        //添加一个学生
        public void AddStudent(int id,string name,int height,int ClassId)
        {
            Student student = new Student //根据传进来的参数，构建一个student 实例
            {
                Id = id,
                Name = name,
                Height = height,
                ClassGradeId = ClassId
            };

            //把这个实例添加到数据库中
            db.students.Add(student);
            db.SaveChanges();
            Console.WriteLine("学生添加成功");
        }

        //删除一个ID 为id 学生的信息
        public void DeletStudent(int id)
        {
            //先把这个学生找出来
            var resl = db.students
                    .Where(x => x.Id == id)
                    .FirstOrDefault();

            //下边if是要判断有没有这么个学生，只有有的话，才能删除
            if (resl==null)
            {
                throw new ArgumentNullException(nameof(resl));
            }

            db.students.Remove(resl);
            db.SaveChanges();
            Console.WriteLine("该学生已经被删除");
        }

        //查找一个id 的学生
        public void GetStudent(int id)
        {
            var result = db.students
                    .Where(x => x.Id == id)
                    .FirstOrDefault();
            Console.WriteLine
                ($"你查找的id 是{result.Name}***** 的学生的身高是{result.Height}****班级是***{result.ClassGradeId}");
        }

    }
}
